<?php
namespace plugins\member_login\controller;
use cmf\controller\PluginRestBaseController;//引用插件基类
use think\Db;
use plugins\member_login\validate\MemberValidate;
use plugins\member\model\MemberModel;
header("Content-Type: text/html;charset=utf-8");
/**
 * 登录注册控制器
 */
class ApiIndexController extends PluginRestBaseController
{
	//登陆
	public function login()
	{
		$param = $this->request->param();
		//key检测
		if(empty($param['key'])){
			return api_json_echo( false , '传入的数据不正确，请检查' );
		}
		//调用对应的类
		$class = "\\plugins\\member_login\\controller\\"."Api".cmf_parse_name( $param['type'] , 1 )."Controller";
		if( !class_exists( $class ) ){
			return api_json_echo( false , '请传入有效的关键字' );
		}
		$obj = new $class();
		//执行对应的方法
		$obj -> login( $param );
	}
	//注册
	public function regiest(){
		$param = $this->request->param();
		//key检测
		if(empty($param['key'])){
			return api_json_echo( false , '传入的数据不正确，请检查' );
		}
		//调用对应的类
		$class = "\\plugins\\member_login\\controller\\"."Api".cmf_parse_name( $param['type'] , 1 )."Controller";
		if( !class_exists( $class ) ){
			return api_json_echo( false , '请传入有效的关键字' );
		}
		$obj = new $class();
		//执行对应的方法
		$obj -> regiest( $param );
	}
	//用户注册协议
	public function memberRule()
	{
		$text = getModuleConfig('member_login','config','member_login_rule.config');
        $text = htmlspecialchars_decode($text);
        if($text){
        	return api_json_echo( true , '查询成功' , $text );
        }
        return api_json_echo( false , '查询失败' );		
	}

    //用户使用教程
    public function memberUseCourse()
    {
        $text = getModuleConfig('site_config','config','member_use_rule.config');
        $text = htmlspecialchars_decode($text);
        if($text){
            return api_json_echo( true , '查询成功' , $text );
        }
        return api_json_echo( false , '查询失败' );
    }


	//登录前发短信
	public function sendCode()
	{
		$post = $this->request->post();
		if(!preg_match("/^1[34578]\d{9}$/", $post['phone'])){
			return api_json_echo( false , '请输入正确的手机号' );
		}
		//验证码生成
		$code = cmf_get_verification_code($post['phone'], 6);
		if($code == false){
			return api_json_echo( false , '发送失败，今日发送次数已达到15次上限' , $code );
		}
		//验证码发送
		$data = [
            'mb_name' => 'verify_code', //模板标识,项目中可自定义,定义以后到短信配置做相应的模板配置, 但是在写标准基础模块和插件时必须按照规范书写,方便复用
            'mobile' => $post['phone'],//手机号
            'content' => [  //发送内容,用于存放模板变量, 默认可以设置 [] 空数组, 
                'code' => $code
            ]
        ]; 
        $return = cmf_sms_send( $data );

        if($return['status'] == true){
	 		//更新验证码发送日志
			$result = cmf_verification_code_log($post['phone'], $code, (time()+300));
			if($result){
				return api_json_echo( true , '发送成功');
			}else{
				return api_json_echo( false , '发送失败');
			}     	
        }else{
        	return api_json_echo( false , '发送失败,请稍后重试,'.$return['message']);
        }
	}		
}